Masking operation method and device for symmetric key encrypted system

ABSTRACT

A masking operation method for a symmetric key encryption system includes, when at least two Substitution-boxes (S-boxes) are input, generating a masking S-box table for one S-box which was input; and performing an operation on one masking S-box by referring to the generated masking S-box table. Further, the masking operation method for the symmetric key encryption system includes performing an operation on a remaining masking S-box for a remaining S-box, which was input, by referring to the masking S-box table.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present invention claims priority of Korean Patent Application No. 10-2010-0005175 filed on Jan. 20, 2010, which is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to a symmetric key encryption technique which has a good countermeasure against a side channel attack; particularly, to a masking operation method for a symmetric key encryption system, which is suitable for reducing the resources, e.g., time and memory capacity required to generate a masking Substitution-box (S-box) table applied to the symmetric key encryption technique.

BACKGROUND OF THE INVENTION

A side channel attack is one among powerful techniques used to attack encryption algorithms, and such a side channel attack technique has gradually become a great threat to security products. In particular, a power/electromagnetic side channel analysis attack is an attack method of collecting power consumption or electromagnetic waves generated when an encryption algorithm run, and analyzing the secret information (mainly, key information) of the encryption algorithm by performing statistical analysis on the collected power consumption or electromagnetic waves.

Various preventative techniques have been proposed to prevent such a power/electromagnetic side channel analysis attack, and a masking technique is a representative method of preventing the side channel analysis attack using an algorithm. The masking technique is a method of adding random data to original data desired to be encrypted or performing a logical operation, for example, an exclusive OR (XOR) operation, on the original data, so that it is difficult to extract secret information even though statistical analysis is performed on the collected power wave data or electromagnetic wave data.

However, in a symmetric key encryption algorithm, for example, ARIA or SEED encryption algorithm, applied to use such a masking technique, at least two or more S-box tables, which are masking look-up tables used in a symmetric key encryption system, need to be generated and stored, so that there is a problem in that resources required for the masking operation, for example, operation time and memory capacity, are excessively consumed.

SUMMARY OF THE INVENTION

In view of the above, the present invention provides a masking operation technique for a symmetric key encryption system, which performs an operation on one masking S-box by referring to an initially generated masking S-box table, and then performs an operation on a remaining masking S-box by referring to the initially generated masking S-box table instead of referring to an additional masking S-box table, so that operation time and memory capacity, which are required for a masking operation, can be reduced.

In accordance with a first aspect of the present invention, there is provided a masking operation method for a symmetric key encryption system, including: when at least two Substitution-boxes (S-boxes) are input, generating a masking S-box table for one S-box which was input; performing an operation on one masking S-box by referring to the generated masking S-box table; and performing an operation on a remaining masking S-box for a remaining S-box, which was input, by referring to the masking S-box table.

In accordance with a second aspect of the present invention, there is provided a masking operation device for a symmetric key encryption system, including: a masking S-box table generation unit for generating a masking S-box table for one S-box of at least two input S-boxes; and a masking S-box operation unit for performing an operation on one masking S-box for the one S-box and a remaining masking S-box for a remaining S-box of the at least two S-boxes by referring to the masking S-box table generated by the masking S-box table generation unit.

In accordance with the present invention, a masking operation technique based on the efficiency of a masking S-box table used in a symmetric key encryption algorithm in conformity with national standard algorithms, for example, the SEED encryption algorithm, is prepared, so that operation time and memory capacity necessary for the masking operation may be reduced to 50% or more, thereby increasing the operational efficiency and reliability of products to which the symmetric key encryption algorithm is applied, for example, smart cards.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects and features of the present invention will become apparent from the following description of embodiments given in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram schematically showing a masking operation device for a symmetric key encryption system in accordance with an embodiment of the present invention;

FIG. 2 is a flow chart showing a masking operation method for a symmetric key encryption system in accordance with the embodiment of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

A masking operation technique for a symmetric key encryption system, to which the SEED encryption algorithm selected from among the symmetric key encryption algorithms is applied, will be described as an example in an embodiment below. Here, the masking operation, for example, an arithmetical masking operation or a logical masking operation, in particular, an XOR masking operation, will be described as an example.

Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawing which form a part hereof.

FIG. 1 is block diagram showing a masking operation (for example, an XOR masking operation) device for a symmetric key encryption system in accordance with the embodiment of the present invention, which includes a masking S₂-box table generation unit 100, a masking S-box operation unit 102, and an S-box relation analysis unit 104.

First, the masking operation device for the SEED encryption system of the symmetric key encryption system is described as an example in the present embodiment, and two S-boxes (a first S-box s₁[x] and a second S-box s₂[x]) may be used in the SEED encryption system as shown in the following Equation 1.

s ₁ [x]= A ₁x²⁴⁷ ⊕b ₁ =A ₁ x ⁻⁸ ⊕b ₁ ,b ₁=0X49

s ₂ [x]=A ₂ x ²⁵¹ ⊕b ₂=A₂ x ⁻⁴ ⊕b ₂ b ₂=0X38  [Equation 1]

where, A₁ and A₂ are 8-bit values as shown in the following Equation 2, and operations may be performed thereon by regarding the A₁ and A₂ as the elements of a finite field (here, the primitive polynomial of the finite field may be, e.g., p(x)=x⁸+x⁶+x⁵+x+1).

$\begin{matrix} {{A_{1} = \begin{bmatrix} 10001010 \\ 11111110 \\ 10000101 \\ 01000010 \\ 01000101 \\ 00100001 \\ 10001000 \\ 00010100 \end{bmatrix}},\mspace{14mu} {A_{2} = \begin{bmatrix} 01000101 \\ 10000101 \\ 11111110 \\ 00100001 \\ 10001010 \\ 10001000 \\ 01000010 \\ 00010100 \end{bmatrix}}} & \left\lbrack {{Equation}\mspace{14mu} 2} \right\rbrack \end{matrix}$

In order to realize the masking operation for the SEED encryption system, most of the values of the S-box are previously calculated in the form of a look-up table and then an S-box table in the form of the look-up table is referred to.

Under such an assumption, the masking operation device for the symmetric key encryption system will be described as an example.

Unlike the conventional art which includes separate masking S-box table generation units for generating respective masking S-box tables for the input of S-boxes ‘a first S-box s₁[x] and a second S-box s₂[x]’, and which performs operations on respective masking S-boxes, the embodiment shown in FIG. 1 has principle features of including a single masking S-box table generation unit, performing an operation on an initial one masking S-box, and performing an operation on a remaining masking S-box by referring to a masking S-box table generated by the single masking S-box table generation unit.

Although the single masking S-box table generation unit is described as the masking S₂-box table generation unit 100 for receiving the second S-box s₂[x] in the embodiment of FIG. 1, this is given just as an example. Alternatively, for example, the single masking S-box table generation unit may be described as a masking S-box table generation unit for receiving the first S-box s₁[x].

As shown in FIG. 1, the masking S₂-box table generation unit 100 functions to generate and store a second masking S-box table ‘MS₂-box table’ for the input second S-box s₂[x]. Although not shown in the drawing, a second masking S-box table ‘MS₂-box table’ to be generated may be stored in a separate storage unit, for example, Read Only Memory (ROM). Since these facts should be known by those skilled in the art, the detailed description thereof will be omitted.

The masking S-box operation unit 102 in accordance with the embodiment of the present invention may function to perform an operation on a second masking S-box by referring to the second masking S-box table ‘MS₂-box table’ generated by the masking S₂-box table generation unit 100, and to perform an operation on a first masking S-box for the first S-box s₁[x], which is a remaining S-box, by referring to the second masking S-box table ‘MS₂-box table’. Specifically, the masking S-box operation unit 102 may perform an operation on the additional first masking S-box using the relation between the second S-box s₂[x] and the first S-box s₁[x] through the connection with the S-box relation analysis unit 104 which will be described later.

The S-box relation analysis unit 104 may analyze the relation between the initial masking S-box ‘second S-box s₂[x]’ and the first S-box s₁[x], the operation of which is performed by the masking S-box operation unit 102, and may provide the results of the analysis to the masking S-box operation unit 102.

The functions, performed by the masking S-box operation unit 102 and the S-box relation analysis unit 104, and a process of realizing the functions will be described in detail in the flow chart of FIG. 2.

Hereinafter, with the above-described configuration, a masking operation method for a symmetric key encryption system in accordance with the embodiment of the present invention will be described in detail with reference to the flow chart in FIG. 2.

As shown in FIG. 2, when S-boxes, that is, the first S-box s₁[x] and the second S-box s₂[x], are input in step S200, the masking S₂-box table generation unit 100 may generate a second masking S-box table for the input second S-box s₂[x] in step S202.

The second masking S-box table can be realized using the following Equation 3.

Input: SEED S-box S₂,r,r′

Output: MS table MS_(2,r,r′)[j],j=0, . . . ,255

for j=0 to 255 do

j′←jδr mod 2⁸

MS_(2,r,r′)[j]←S₂[j′]⊕r′

end for

return MS_(2,r,r′)[ ]  [Equation 3]

The masking S-box operation unit 102 may perform an operation on a second masking S-box by referring to the second masking S-box table generated by the masking S₂-box table generation unit 100 in step S204.

Here, unlike the conventional art which performs an operation on a masking S-box using an additional masking S-box table for the input of a first S-box, the masking S-box operation unit 102 may perform an operation on a first masking S-box for the input of the first S-box by referring to the already generated second masking S-box table in step S206.

The operation performed on the first masking S-box may be realized using the following Equation 4.

Input: x′,r,r′, where x′=⊕r

Output: y such that y=S ₁ |x|⊕r′

y←A₃MS_(2,r,r′)[x′]

y←y⊕b₃

m_(a)←A₃r′

m_(a)←m_(a)←r′

y←y⊕m_(a)

return y  [Equation 4]

Specifically, the masking S-box operation unit 102 may perform an operation on the first masking S-box in accordance with the results of the analysis of the relation between the second S-box s₂[x] and the first S-box s₁[x], the analysis being performed by the S-box relation analysis unit 104. Here, the relation between the second S-box s₂[X] and the first S-box s₁[x] may be realized using the following Equation 5.

$\begin{matrix} \begin{matrix} {{s_{1}\lbrack x\rbrack} = {{A_{1}\left( x^{- 4} \right)}^{2} \oplus b_{1}}} \\ {= {{A_{1}\left( {A_{2}^{- 1}\left( {{S_{2}\lbrack x\rbrack} \oplus b_{2}} \right)} \right)}^{2} \oplus b_{1}}} \\ {= {{A_{1}\left( {B\left( {A_{2}^{- 1}\left( {{S_{2}\lbrack x\rbrack} \oplus b_{2}} \right)} \right)} \right)} \oplus b_{1}}} \\ {= {{\left( {A_{1}{BA}_{2}^{- 1}} \right){S_{2}\lbrack x\rbrack}} \oplus \left( {{\left( {A_{1}{BA}_{2}^{- 1}} \right)b_{2}} \oplus b_{1}} \right.}} \\ {= {{A_{3}{S_{2}\lbrack x\rbrack}} \oplus b_{3}}} \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 5} \right\rbrack \end{matrix}$

where, B, A₃, and b₃ can be represented by the following Equation 6.

$\begin{matrix} {{B = \begin{bmatrix} 00100000 \\ 10111000 \\ 10110000 \\ 01000100 \\ 01100000 \\ 10100010 \\ 00110000 \\ 01110001 \end{bmatrix}},\mspace{14mu} {A_{3} = \begin{bmatrix} 10010001 \\ 00001001 \\ 01100100 \\ 00000100 \\ 11011000 \\ 11110111 \\ 00001110 \\ 01010010 \end{bmatrix}},\mspace{14mu} {B_{3} = {0 \times 4a}}} & \left\lbrack {{Equation}\mspace{14mu} 6} \right\rbrack \end{matrix}$

Therefore, since an additional masking S-box table is not required in the present embodiment, operation time and memory capacity necessary for the masking operation can be reduced.

Meanwhile, if the above-described relations of Equations 5 and 6 are applied to the masking S-boxes, a relation like the following Equation 7 may be induced.

$\begin{matrix} {\begin{matrix} {{{Ms}_{1,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack} = {{S_{1}\left\lbrack {x^{\prime} \oplus r} \right\rbrack} \oplus r^{\prime}}} \\ {= {\left( {{A_{3}{S_{2}\left\lbrack {x^{\prime} \oplus r} \right\rbrack}} \oplus b_{3}} \right) \oplus r^{\prime}}} \\ {= {\left( {{A_{3}\left( {{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack} \oplus r^{\prime}} \right)} \oplus b_{3}} \right) \oplus r^{\prime}}} \\ {= {{A_{3}{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack}} \oplus {A_{3}r^{\prime}} \oplus b_{3} \oplus r^{\prime}}} \\ {{= {{A_{3}{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack}} \oplus m_{a} \oplus b_{3}}},} \end{matrix}{where}{m_{a} = {{A_{3}r^{\prime}} \oplus r^{\prime}}}} & \left\lbrack {{Equation}\mspace{14mu} 7} \right\rbrack \end{matrix}$

As described above, in accordance with the embodiment of the present embodiment, a masking S-box table is generated and stored for only one S-box, and the operation on a remaining masking S-box is performed using the relation between S-boxes having inputs which are different from each other.

While the invention has been shown and described with respect to the embodiments, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the scope of the invention as defined in the following claims. 

1. A masking operation method for a symmetric key encryption system, comprising: when at least two Substitution-boxes (S-boxes) are input, generating a masking S-box table for one S-box which was input; performing an operation on one masking S-box by referring to the generated masking S-box table; and performing an operation on a remaining masking S-box for a remaining S-box, which was input, by referring to the masking S-box table.
 2. The masking operation method of claim 1, wherein said performing the operation on the remaining masking S-box comprises performing an operation on the remaining masking S-box according to results of analysis of a relation between the one S-box and the remaining S-box.
 3. The masking operation method of claim 2, wherein the relation is $\begin{matrix} {{s_{1}\lbrack x\rbrack} = {{A_{1}\left( x^{- 4} \right)}^{2} \oplus b_{1}}} \\ {= {{A_{1}\left( {A_{2}^{- 1}\left( {{S_{2}\lbrack x\rbrack} \oplus b_{2}} \right)} \right)}^{2} \oplus b_{1}}} \\ {= {{A_{1}\left( {B\left( {A_{2}^{- 1}\left( {{S_{2}\lbrack x\rbrack} \oplus b_{2}} \right)} \right)} \right)} \oplus b_{1}}} \\ {= {{\left( {A_{1}{BA}_{2}^{- 1}} \right){S_{2}\lbrack x\rbrack}} \oplus \left( {{\left( {A_{1}{BA}_{2}^{- 1}} \right)b_{2}} \oplus b_{1}} \right.}} \\ {= {{A_{3}{S_{2}\lbrack x\rbrack}} \oplus b_{3}}} \end{matrix}$ where, s₁[x] is the remaining S-box, and s₂[x] is the one S-box.
 4. The masking operation method of claim 3, wherein a relation obtained after the relation between the one S-box and the remaining S-box is applied to the masking S-box is $\begin{matrix} {{{Ms}_{1,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack} = {{S_{1}\left\lbrack {x^{\prime} \oplus r} \right\rbrack} \oplus r^{\prime}}} \\ {= {\left( {{A_{3}{S_{2}\left\lbrack {x^{\prime} \oplus r} \right\rbrack}} \oplus b_{3}} \right) \oplus r^{\prime}}} \\ {= {\left( {{A_{3}\left( {{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack} \oplus r^{\prime}} \right)} \oplus b_{3}} \right) \oplus r^{\prime}}} \\ {= {{A_{3}{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack}} \oplus {A_{3}r^{\prime}} \oplus b_{3} \oplus r^{\prime}}} \\ {{= {{A_{3}{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack}} \oplus m_{a} \oplus b_{3}}},} \end{matrix}$ where m_(a) = A₃r^(′) ⊕ r^(′).
 5. The masking operation method of claim 1, further comprising storing the masking S-box table.
 6. The masking operation method of claim 1, wherein the at least two S-boxes are 8-bit input values.
 7. The masking operation method of claim 1, wherein the symmetric key encryption system is a SEED encryption system.
 8. The masking operation method of claim 1, wherein the symmetric key encryption system is an ARIA encryption system.
 9. The masking operation method of claim 1, comprising a logical masking operation.
 10. The masking operation method of claim 1, comprising an arithmetic masking operation.
 11. A masking operation device for a symmetric key encryption system, comprising: a masking S-box table generation unit for generating a masking S-box table for one S-box of at least two input S-boxes; and a masking S-box operation unit for performing an operation on one masking S-box for the one S-box and a remaining masking S-box for a remaining S-box of the at least two S-boxes by referring to the masking S-box table generated by the masking S-box table generation unit.
 12. The masking operation device of claim 11, further comprising an S-box relation analysis unit for analyzing a relation between the one S-box and the remaining S-box.
 13. The masking operation device of claim 12, wherein the masking S-box operation unit performs an operation on the remaining masking S-box according to results of analysis of the relation obtained by the S-box relation analysis unit.
 14. The masking operation device of claim 13, wherein the relation is $\begin{matrix} {{s_{1}\lbrack x\rbrack} = {{A_{1}\left( x^{- 4} \right)}^{2} \oplus b_{1}}} \\ {= {{A_{1}\left( {A_{2}^{- 1}\left( {{S_{2}\lbrack x\rbrack} \oplus b_{2}} \right)} \right)}^{2} \oplus b_{1}}} \\ {= {{A_{1}\left( {B\left( {A_{2}^{- 1}\left( {{S_{2}\lbrack x\rbrack} \oplus b_{2}} \right)} \right)} \right)} \oplus b_{1}}} \\ {= {{\left( {A_{1}{BA}_{2}^{- 1}} \right){S_{2}\lbrack x\rbrack}} \oplus \left( {{\left( {A_{1}{BA}_{2}^{- 1}} \right)b_{2}} \oplus b_{1}} \right.}} \\ {= {{A_{3}{S_{2}\lbrack x\rbrack}} \oplus b_{3}}} \end{matrix}$ where, s₁[x] is the remaining S-box, and s₂[x] is the one S-box.
 15. The masking operation device of claim 14, wherein a relation, obtained after the relation between the one S-box and the remaining S-box is applied to the masking S-box, is $\begin{matrix} {{{Ms}_{1,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack} = {{S_{1}\left\lbrack {x^{\prime} \oplus r} \right\rbrack} \oplus r^{\prime}}} \\ {= {\left( {{A_{3}{S_{2}\left\lbrack {x^{\prime} \oplus r} \right\rbrack}} \oplus b_{3}} \right) \oplus r^{\prime}}} \\ {= {\left( {{A_{3}\left( {{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack} \oplus r^{\prime}} \right)} \oplus b_{3}} \right) \oplus r^{\prime}}} \\ {= {{A_{3}{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack}} \oplus {A_{3}r^{\prime}} \oplus b_{3} \oplus r^{\prime}}} \\ {{= {{A_{3}{{MS}_{2,r,r^{\prime}}\left\lbrack x^{\prime} \right\rbrack}} \oplus m_{a} \oplus b_{3}}},} \end{matrix}$ where m_(a) = A₃r^(′) ⊕ r^(′).
 16. The masking operation device of claim 11, wherein the at least two S-boxes are 8-bit input values.
 17. The masking operation device of claim 11, wherein the symmetric key encryption system is a SEED encryption system.
 18. The masking operation device of claim 11, wherein the symmetric key encryption system is an ARIA encryption system.
 19. The masking operation device of claim 11, comprising a logical masking operation.
 20. The masking operation device of claim 11, comprising an arithmetical masking operation. 